package com.ssy.lingxi.member.merchant.service.base;

import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.member.merchant.model.vo.basic.request.CountryAreaCodeVO;
import com.ssy.lingxi.member.merchant.model.vo.basic.response.CountryAreaCodeNameVO;

import java.util.List;

/**
 * 国家区域基础服务接口
 * @author 万宁
 * @version 2.0.0
 * @date 2021-05-10
 */
public interface IBaseCountryAreaService {

    /**
     * 查询省列表
     * @return 查询结果
     */
    Wrapper<List<CountryAreaCodeNameVO>> listProvince();

    /**
     * 根据省编码，查询市列表
     * @param codeVO 接口参数
     * @return 查询结果
     */
    Wrapper<List<CountryAreaCodeNameVO>> listCitiesByProvinceCode(CountryAreaCodeVO codeVO);


    /**
     * 根据市编码，查询区列表
     * @param codeVO 接口参数
     * @return 查询结果
     */
    Wrapper<List<CountryAreaCodeNameVO>> listDistrictsByCityCode(CountryAreaCodeVO codeVO);

    /**
     * 查询省列表（第一项为“所有”）
     * @return 查询结果
     */
    Wrapper<List<CountryAreaCodeNameVO>> listAllProvince();

    /**
     * 根据省编码，查询市列表（第一项为“所有”）
     * @param provinceCode 省编码
     * @return 查询结果
     */
    Wrapper<List<CountryAreaCodeNameVO>> listAllCitiesByProvinceCode(String provinceCode);
}
